Better & Faster Large Language Models via Multi-token Prediction
motivation 训练和推理阶段对比
- 
传统方法的问题(预测下一个token):#card
- 
训练阶段:token-by-token生成,是一种感知局部的训练方法,难以学习长距离的依赖关系。
 - 
推理阶段:逐个token生成,推理速度较慢
 
 - 
 - 
MTP方法(一次预测多个token):
- 
训练阶段:#card
- 
通过预测多步token,迫使模型学到更长的token依赖关系,从而更好理解上下文,避免陷入局部决策的学习模式。
 - 
同时一次预测多个token,可大大提高样本的利用效率,相当于一次预估可生成多个<predict, label>样本,来更新模型,有助于模型加速收敛。
 
 - 
 - 
推理阶段:#card
- 并行预估多个token,可提升推理速度
 
 
 - 
 
共享 Transformer 的主网络,接入 4 个并行预估头,然后输出

- 
主干网络就是训练好的decoder-only的多层Transformer的网络,#card
- 
个输入token 经过主干网络计算,最终输出隐层表示:(来自于 编码结果)。
 - 
上面接了多输出Head,每个Head负责预估一个token, 负责预估 next token, 负责预估 next next token,以此类推
 
 - 
 - 
Head 是一个Transformer层(包括 MHA+2层FFN),#card
- 且每个Head的Transformer层是独立的,非共享的,经过这层处理后的结果记作:
 
 - 
最后再将 送入到词表投影层( 包括1个投影矩阵+1个Softmax),预估每个词的概率分布。#card
- 
最终通过某种采样方法(如:greedy,beam search等)生成token。
 - 
注意,这个词表投影层是原预训练网络(original model)的投影矩阵+Softmax,多Head是共享的。
 
 - 
 
[[@deepseek技术解读(2)-MTP(Multi-Token Prediction)的前世今生]] 重新画图

- 
和 [[Blockwise Parallel Decoding for Deep Autoregressive Models]] 区别#card
- 
图2是2层FFN, 图6是一个Transformer
 - 
图6 除了可按图2方法一样可做并行推理,本文也重点考虑模型加速训练的优化,在模型训练时,多个头都会并行计算loss时,提升样本利用效率和加速模型收敛。
 
 - 
 
Better & Faster Large Language Models via Multi-token Prediction